﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Clases.Interface;
using Clases.Clases;
using Clases.ClasesPersistentes;
using Clases.Estructuras;

namespace Clases.Gestores
{
    public class GestorMateria
    {
        public static void insertarMateria(String pnombre, String nombreCarrera)
        {
            try
            {
                Carrera tmpCarrera = (Carrera)GestorCarrera.buscarCarrera(nombreCarrera);
                Materia tmpMateria = new Materia(pnombre, tmpCarrera);
                DaoMateria dao = new DaoMateria();
                dao.insertarMateria(tmpMateria);
            }
            catch (Exception e)
            {
                throw e;
            }
        }

        public static List<StrMateria> listarMateriasPorCarrera(String pnombreCarrera)
        {
            try
            {
                Carrera tmpCarrera = (Carrera)GestorCarrera.buscarCarrera(pnombreCarrera);
                DaoMateria dao = new DaoMateria();
                List<StrMateria> listado = dao.listarMateriasPorCarrera(tmpCarrera);
                return listado;
            }
            catch (Exception e)
            {
                throw e;
            }
        }

        public static Materia buscarMateria(String pnombreMateria)
        {
            try
            {
                DaoMateria dao = new DaoMateria();
                Materia resultado = dao.buscarMateria(pnombreMateria);
                return resultado;
            }
            catch (Exception e)
            {
                throw e;
            }
        }

        public static List<StrMateria> buscarMateriasAprox(String pnombreMateria)
        {
            try
            {
                DaoMateria dao = new DaoMateria();
                List<StrMateria> listado = dao.buscarMateriasAprox(pnombreMateria);
                return listado;
            }
            catch (Exception e)
            {
                throw e;
            }
        }
    }
}
